package com.gdpu.project.dao;

import java.util.Date;
import java.util.List;

import com.gdpu.page.vo.QueryResult;
import com.gdpu.project.vo.CgPatent;

public interface CgPatentDao {
	public abstract int count(String teacherId);
	
	public abstract List<CgPatent> nfindByProperty(String propertyName, String value,Date begin,Date end);
	
	/**
	 * 分页查询专著
	 */
	public QueryResult<CgPatent> nfindByProperty(String propertyName,List<String> value,Date begin,Date end,int firstindex,int maxresult);
	
	public abstract void save(CgPatent transientInstance);

	public abstract void delete(CgPatent persistentInstance);

	public abstract CgPatent findById(java.lang.Integer id);

	public abstract QueryResult<CgPatent> findByExample(CgPatent instance,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findByProperty(String propertyName,
			Object value,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findByPatentId(Object patentId,int firstindex,int maxresult);
	/**
	 * 根据教师id分页查找CgPatent
	 * @param teacherId
	 * @param firstindex
	 * @param maxresult
	 * @return
	 */
	public abstract QueryResult<CgPatent> findByTeacherId(Object teacherId,int firstindex,int maxresult);
	/**
	 * 根据教师id一次性查出所有CgPatent
	 * @param teacherId
	 * @return
	 */
	public abstract QueryResult<CgPatent> findByTeacherId(Object teacherId);

	public abstract QueryResult<CgPatent> findByPatentTitle(Object patentTitle,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findByShouYiHao(Object shouYiHao,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findByPatentType(Object patentType,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findByXueKe(Object xueKe,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findBySchoolSign(Object schoolSign,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findByPublishRange(Object publishRange,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findByKeYanFen(Object keYanFen,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findByComment(Object comment,int firstindex,int maxresult);

	public abstract QueryResult<CgPatent> findAll(int firstindex,int maxresult);

	public abstract CgPatent merge(CgPatent detachedInstance);

	public abstract void attachDirty(CgPatent instance);

	public abstract void attachClean(CgPatent instance);

}